import Vue from 'vue'
import Router from 'vue-router'
import Login from '../components/Login.vue'
import Home from '../components/Home.vue'
import Welcome from '../components/Welcome.vue'
import Users from '../components/user/Users.vue'
import Rights from '../components/power/Rights.vue'
import Roles from '../components/power/Roles.vue'
// 导入全局样式表
import '../assets/css/global.css'
// 导入字体图标库
import '../assets/font/iconfont.css'
import '../assets/font_first/iconfont.css'
import axios from 'axios'
// 配置请求的根路径
axios.defaults.baseURL = 'http://127.0.0.1:8888/api/private/v1/'
axios.interceptors.request.use(config =>{
  // console.log(config)
  config.headers.Authorization = window.sessionStorage.getItem('token')
  // 在最后必须return config
  return config
})
Vue.prototype.$http = axios


// import Home from '../components/Home.vue'

Vue.use(Router)

const router = new Router({
  routes: [
    // 重定向:只要用户访问了根路径,就让他直接跳转到/login
    {
      path: '/',
      redirect: '/login'
    },

    // 后缀加login跳转到Login.vue渲染的页面
    {
      path: '/login',
      component: Login
    },

    {
      path: '/home',
      component: Home,
      redirect:'/welcome',
      children:[
        {path: '/welcome',component: Welcome},
        {path:'/users',component:Users},
        {path:'/rights',component:Rights},
        {path:'/roles',component:Roles},
      ]
    },
  ]
})
//挂载路由导航守卫
router.beforeEach((to, from, next) => {
  //to 将要访问的路径
  // from代表从哪个路径跳转而来
  // next是一个函数，表示放行
  // next()放行   next('/login')强制跳转
  if (to.path === '/login') return next()
  // 获取token
  const tokenStr = window.sessionStorage.getItem('token')
  if (!tokenStr) return next('/login')
  next()
})
export default router
